package com.ycb.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ycb.common.Result;
import com.ycb.dto.SetmealDto;
import com.ycb.pojo.Setmeal;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 套餐 服务类
 * </p>
 *
 * @author ycb
 * @since 2024-09-30
 */
public interface ISetmealService extends IService<Setmeal> {

    /**
     * 根据套餐id查询
     * @param id
     * @return
     */
    List<Setmeal> findListByCategoryId(Long id);

    /**
     * 根据套餐id查询
     * @param id
     * @return
     */
    long findCountByCategoryId(Long id);

    /**
     * 分页查询
     * @param page
     * @param pageSize
     * @param name
     * @return
     */
    Result<Page> pageSetmealDto(int page, int pageSize, String name);

    /**
     * 保存套餐及套餐中菜品信息
     * @param setmealDto
     */
    void saveWithDish(SetmealDto setmealDto);

    /**
     * 删除套餐及套餐中的菜品信息
     * @param ids
     */
    void removeWithDish(List<Long> ids);

    /**
     * 根据id获取套餐表单数据
     * @param id
     * @return
     */
    SetmealDto getDtoById(Long id);

    /**
     * 更新套餐信息和套餐中所含的菜品信息
     * @param setmealDto
     */
    void updateWithDish(SetmealDto setmealDto);
}
